package com.lanhe.article.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 文章表(LhArticle)表实体类
 *
 * @author zhanggl
 * @since 2023-12-18 09:23:42
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName("lh_article")
public class LhArticle {

	/**
	 * ID
	 */
	@TableId(type = IdType.AUTO)
	private Long articleId;

	/**
	 * 类型，父级类型
	 */
	@NotNull(message = "父类型不允许为空")
	private Integer pType;

	public Integer getpType() {
		return pType;
	}

	public void setpType(Integer pType) {
		this.pType = pType;
	}

	/**
	 * 类型
	 */
	@NotNull(message = "类型不允许为空")
	private Integer type;

	/**
	 * 标题
	 */
	@NotBlank(message = "标题不允许为空")
	@Size(min = 0, max = 30, message = "标题长度不能超过30个汉字")
	private String title;

	/**
	 * 子标题
	 */
	@Size(min = 0, max = 30, message = "副标题长度不能超过30个汉字")
	private String subTitle;

	/**
	 * 文章封面
	 */
	@NotBlank(message = "文章封面不允许为空")
	private String coverImg;

	/**
	 * 描述
	 */
	private String articleDesc;

	/**
	 * 浏览量
	 */
	private Integer pv;

	/**
	 * 分享次数
	 */
	private Integer shareNumber;

	/**
	 * 删除标志（0代表存在 2代表删除）
	 */
	private String delFlag;

	/**
	 * 创建者
	 */
	private String createBy;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	/**
	 * 更新者
	 */
	private String updateBy;

	/**
	 * 更新时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	@TableField(exist = false)
	private String content;

	@TableField(exist = false)
	private Date beginTime;

	@TableField(exist = false)
	private Date endTime;

}

